/* Name : main.c * Purpose : Source code for BUZZER Interfacing with PIC18F4550. * Author : Gemicates * Date : 2017-06-12 * Website : www.gemicates.org * Revision : None */ #include <htc.h> // Header file for PIC18F4550 #define _XTAL_FREQ 12000000 // 12MHZ #define input PORTD // PORTD as input #define Buzzer PORTCbits.RC0 // To set a single pin(RC0) as output // __CONFIG(PLLDIV = 5,CPUDIV = OSC1 / 2,USBDIV = 2,FOSC = HIGH_SPEED HS); // ,FCMEN = OFF,IESO = OFF,PWRT = OFF,BOR = OFF,BORV = 3,VREGEN = OFF,WDT = OFF,WDTPS = 1:32768,CCP2MX = ON,PBADEN = OFF,LPT1OSC = OFF,MCLRE = ON,STVREN = ON,LVP = ON,ICPRT = OFF,XINST = OFF,DEBUG = OFF,CP0 = OFF, CP1 = OFF, CP2 = OFF, CP3 = OFF,CPB = OFF,CPD = OFF,WRT0 = OFF, WRT1 = OFF, WRT2 = OFF, WRT3 = OFF,WRTC = OFF,WRTB = OFF,WRTD = OFF,EBTR0 = OFF, EBTR1 = OFF, EBTR2 = OFF, EBTR3 = OFF,EBTRB = OFF); #pragma config WDT = OFF void delay(int msec) // delay function { int i,j; for(i=0;i<msec;i++) for(j=0;j<1275;j++); } void main() { TRISD = 0xff; // PORTD as output TRISC = 0Xfe; // Upper bits as input and Lower bits as output. while(1) { switch(input) // Switch statement { case 0xFF: Buzzer = 0; // Buzzer ON condition break; case 0xFD: Buzzer = 1; // Buzzer OFF condition // delay(100); // Buzzer = 1; break; } } }